Iterative detection in mimo systems

ABSTRACT

Iterative detection for a MIMO wireless system uses multiple stages for interference cancellation refinements. Detection is determined by maximizing signal to noise plus interference ratios. Equalization matrix updating uses a matrix-inversion-free recursion.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The following copending applications disclose related subject matter and have a common assignee: Appl. No. . . . , filed . . .

BACKGROUND OF THE INVENTION

[0002] The present invention relates to communication systems, and more particularly to multiple-input multiple-output wireless systems.

[0003] Wireless communication systems typically use band-limited channels with time-varying (unknown) distortion and may have multi-users (such as multiple cellphone users within a cell). This leads to intersymbol interference and multi-user interference, and requires interference-resistant detection for systems which are interference limited. Interference-limited systems include multi-antenna systems with multi-stream or space-time coding which have spatial interference, multi-tone systems, TDMA systems having frequency selective channels with long impulse responses leading to intersymbol interference, CDMA systems with multi-user interference arising from loss of orthogonality of spreading codes, high data rate CDMA which in addition to multi-user interference also has intersymbol interference.

[0004] Interference-resistant detectors commonly invoke one of three types of equalization to combat the interference: maximum likelihood sequence estimation, (adaptive) linear filtering, and decision-feedback equalization. However, maximum likelihood sequence estimation has problems including impractically large computation complexity for systems with multiple transmit antennas and multiple receive antennas. Linear filtering equalization, such as linear zero-forcing and linear minimum square error equalization, has low computational complexity but has relatively poor performance due to excessive noise enhancement. And decision-feedback (iterative) detectors, such as iterative zero-forcing and iterative minimum mean square error, have moderate computational complexity but only moderate performance.

[0005] An iterated decision approach appears in Chan and Wornell, A Class of Block-Iterative Equalizers for Intersymbol Interference Channels: Fixed Channel Results, 49 IEEE Tran. Comm. 1966 (2001) and Chan and Wornell, A Class of Asymptotically Optimum Iterated-Decision Multiuser Detectors, Proc. IEEE ICASSP 2265 (2001).

SUMMARY OF THE INVENTION

[0006] The present invention provides a method and detector for multiple-input multiple-output (MIMO) systems with progressive refinement of soft symbol estimates by iterative detection across antennas in several stages while accounting for decision-feedback error.

[0007] This has advantages including improved performance for wireless systems.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008]FIG. 1 is a flow diagram.

[0009]FIGS. 2a-2 c illustrate functional blocks of detectors, receivers, and transmitters.

[0010]FIGS. 3a-3 b simulation results.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] 1. Overview

[0012] Preferred embodiment detection methods for multi-input, multi-output (MIMO) systems progressively refine soft symbol estimates by iterative detections across multiple antennas in multiple stages while accounting for the effects of decision-feedback errors. FIG. 1 is a flow diagram for first preferred embodiment methods and shows an inner loop which iteratively detects each transmitted symbol using cancellation of previously detected symbols and an outer loop of detection stages which refine the inner loop detections. Explicitly, the preferred embodiments estimate a P-vector of transmitted symbols s from a P-vector z=Fr−Gŝ where F is a P×Q IMMSE detector applied to the Q-vector of received signals r, and G is a P×P interference canceller applied to the P-vector of prior detection hard decisions ŝ; both F and G are refined for each symbol detection and also for successive stages of detections.

[0013] The usual iterative MMSE detection method estimates each symbol once using full cancellation of previously detected symbols as if the prior symbol detection were error free. In contrast, preferred embodiment detectors and methods incorporate multistage iterative MMSE detection with the following characteristics:

[0014] (a) N≧2 detection stages. Each detection stage includes P iterations where P is the number of transmitter antennas and symbol streams. Each stage iteratively applies MMSE (IMMSE) detection to obtain soft and hard estimates of all P symbols (S₁, S₂, . . . , S_(P)). After all P symbols are detected, the next stage is started using the results of the prior stage as initial conditions, and the first stage is analogous to the usual IMMSE and has 0 initial conditions. That is, if (n,i) denotes the ith detection iteration during the nth stage so that ŝ^((n,i)) are the current hard decisions for the detected symbols, then ŝ^((n,0))=ŝ^((n−1,P)) are initial conditions for incrementing stages and ŝ^((1,0))=0 are the initial conditions for the first stage.

[0015] (b) Account for decision feedback (interference cancellation) error. Determine the effect of decision feedback error by the correlation between the hard decision feedback and the actual symbols. This correlation is a function of the post-detection SINR which depends upon the channel state H. This correlation may be updated every iteration.

[0016] (c) Within each stage, order the iterations according to the post-detection SINR of the symbols. The first iteration detects (hard decision on the soft estimate) the symbol with the largest SINR, and a contribution of this symbol subtracted (at least partial cancellation) for the second iteration. The second iteration detects the symbol among the remaining (non-cancelled) symbols with the largest SINR. And so forth.

[0017] (d) Improve the reliability of the hard decision symbol estimates in the feedback (cancellations) from stage to stage. This improves the interference subtractions. The preferred embodiment approach relates the portion of the hard decision symbol estimate subtracted to the reliability of the hard decision.

[0018] Preferred embodiment wireless communication systems incorporate preferred embodiment detection methods. FIGS. 2a-2 b illustrate functional blocks of a preferred embodiment detector and corresponding receiver for a MIMO wireless communications system; and FIG. 2c shows a multiple-antenna transmitter for such a system. In such systems components, base stations, and mobile users, could each include one or more application specific integrated circuits (ASICs), (programmable) digital signal processors (DSPs), and/or other programmable devices with stored programs for implementation of the preferred embodiment. The base stations and mobile users may also contain analog integrated circuits for amplification of inputs to or outputs from antennas and conversion between analog and digital; and these analog and processor circuits may be integrated on a single die. The stored programs may, for example, be in external or onboard ROM, flash EEPROM, and/or FeRAM. The antennas may be parts of RAKE detectors with multiple fingers for each user's signals. The DSP core could be a TMS320C6xxx or TMS320C5xxx from Texas Instruments.

[0019] 2. Single Stage Iterative MMSE Detectors

[0020]FIG. 2b illustrates a receiver with an interference-resistant detector as could be used in a wireless communications system with P transmit antennas (P data streams) and Q receive antennas. FIG. 2c illustrates a corresponding transmitter with P transmit antennas. The received signal in such a system can be written as:

r=Hs+w

[0021] where r is the Q-vector of samples of the received baseband signal (complex numbers) corresponding to a transmission time n: ${r = \begin{bmatrix} {r_{1}(n)} \\ {r_{2}(n)} \\ \vdots \\ {r_{Q}(n)} \end{bmatrix}};$

[0022] s is the P-vector of transmitted symbols (complex numbers of a symbol constellation) for time n: ${s = \begin{bmatrix} {s_{1}(n)} \\ {s_{2}(n)} \\ \vdots \\ {s_{P}(n)} \end{bmatrix}};$

[0023] H is the Q×P channel matrix of attenuations and phase shifts; and w is a Q-vector of samples of received (white) noise. That is, the (q,p)th element of H is the channel (including multipath combining and equalization) from the pth transmit source to the qth receive sink, and the qth element of w is the noise seen at the qth receive sink.

[0024] Note that the foregoing relation applies generally to various systems with various interference problems and in which n, r, s, P, and Q have corresponding interpretations. For example:

[0025] (i) High data rate multi-antenna systems such as BLAST (Bell Labs layered space time) or MIMO and multi-stream space-time coding: spatial interference suppression techniques are used in detection.

[0026] (ii) Broadband wireless systems employing OFDM (orthogonal frequency division multiplex) signaling and MIMO techniques for each tone or across tones.

[0027] (iii) TDMA (time division multiple access) systems having frequency-selective channels with long impulse response which causes severe ISI (intersymbol interference). Use equalizers to mitigate ISI.

[0028] (iv) CDMA (code division multiple access) systems having frequency-selective channels which cause MUI (multi-user interference) as a result of the loss of orthogonality between spreading codes. For high data rate CDMA systems such as HSDPA and 1xEV-DV, this problem is more severe due to the presence of ISI. Equalizers and/or interference cancellation may be used to mitigate these impairments.

[0029] (v) Combinations of foregoing.

[0030] P is essentially the number of symbols that are jointly detected as they interfere with one another, and Q is simply the number of collected samples at the receiver. Because there are P independent sources, Q must be at least as large as P to separate the P symbols. A detector in a receiver as in FIGS. 2a-2 b outputs soft estimates z of the transmitted symbols s to a demodulator and decoder.

[0031] Presume that different symbols that are transmitted via P different antennas are uncorrelated and may also may utilize different modulation schemes. This implies the P×P matrix of expected symbol correlations, Λ=E[ss^(H)], is diagonal with entries equal the expected symbol energies (λ_(k)=E[|s_(k)|²]): $\Lambda = \begin{bmatrix} \lambda_{1} & 0 & \cdots & 0 \\ 0 & \lambda_{2} & \cdots & 0 \\ \vdots & \vdots & ⋰ & \vdots \\ 0 & 0 & \cdots & \lambda_{P} \end{bmatrix}$

[0032] For linear filtering equalization detectors, such as linear zero-forcing (LZF) or linear minimum mean square error (LMMSE), the soft estimates, denoted by P-vector z, derive from the received signal by linear filtering with P×Q matrix F; namely, z=F r. LMMSE detection finds the matrix F by minimizing the mean square error, E[∥z−s∥²]. With perfect estimation of the channel H, the minimizing matrix F is given by: $\begin{matrix} {F = {\left\lbrack {{H^{H}H} + {\sigma^{2}\Lambda^{- 1}}} \right\rbrack^{- 1}H^{H\quad}}} \\ {\quad {= {\Lambda \quad {H^{H}\left\lbrack {{H\quad \Lambda \quad H^{H}} + {\sigma^{2}I_{Q}}} \right\rbrack}^{- 1}}}} \end{matrix}$

[0033] where σ² is the variance per symbol of the additive white noise w and I_(Q) is the Q×Q identity matrix. Note F has the form of a product of an equalization matrix with H^(H) which is the matrix of the matched filter for the channel.

[0034] A one-stage iterative (decision-feedback) detector for blocks of P symbols has a series of P linear detectors (P iterations) with each linear detector followed by a (hard) decision device and interference subtraction (cancellation). Each of the P linear detectors (iterations) generates both a hard and a soft estimate for one of the P symbols. The hard estimate is used to regenerate the interference arising from the already-estimated symbols which is then subtracted from the received signal, and the difference used for the next linear symbol estimation. This presumes error-free decision feedback. More explicitly, let s denote the P-vector of transmitted symbols to be estimated, ŝ^((i)) denote the ith iteration output P-vector of hard symbol estimates (first i components equal to the hard estimates ŝ₁, ŝ₂, . . . , ŝ_(i) of the first i symbols, s₁, s₂, . . . , s_(i), and the remaining P−i components each equal to 0, and z^((i)) denote the ith iteration output P-vector of soft estimates of s₁−ŝ₁, s₂−ŝ₂, . . . , s_(i−1)−ŝ_(i−1), s_(i), s_(i+1), . . . , s_(p). That is, estimates of the transmitted symbols with the already-estimated first i−1 symbols subtracted out. The hard decision for the ith symbol, ŝ_(i), arises from application of a hard decision operator on the soft estimate: ŝ_(i)=D{z_(i) ^((i))}. The ith iteration detection is:

z ^((i)) =F r−F H ŝ ^((i−1))

[0035] where the second term is the soft estimation of the regenerated (propagated by H) hard decision symbol estimates of the prior i−1 iterations. For the first iteration there are no already-estimated symbols, so ŝ⁽⁰⁾=0 _(P) (a P-vector with each component equal to 0). Of course, the ith iteration soft estimates z₁ ^((i)), z₂ ^((i)), . . . , z_(i−1) ^((i)) are ideally just estimates of channel noise because the hard estimates would exactly cancel the transmitted symbols. Thus computational simplicity suggests omitting these computations by zeroing-out the corresponding rows (columns) of the matrices. More precisely, take:

z ^((i)) =F ^((i)) r−G ^((i)) ŝ ^((i−1))

[0036] where F^((i)) and G^((i)) are the P×Q detection matrix and the P×P interference cancellation matrix for the ith iteration, respectively, defined as: $F^{(i)} = \begin{bmatrix} 0_{{({i - 1})}x\quad Q} \\ \Phi^{(i)} \end{bmatrix}$

 G ^((i)) =F ^((i)) └B _(i−1)0_(Q×(P−i+1))┘

[0037] where the inversion matrix for IMMSE is $\begin{matrix} {{\Phi^{(i)} = {\left( {{A_{i}^{H}A_{i}} + {\sigma^{2}\Lambda_{i}^{- 1}}} \right)^{- 1}A_{i}^{H\quad}}}\quad} \\ {\quad {= {\Lambda_{i}\quad {A_{i}^{H}\left( {{A_{i}\quad \Lambda_{i}\quad A_{i}^{H}} + {\sigma^{2}I_{Q}}} \right)}^{- 1}}}} \end{matrix}$

[0038] with the last P−i+1 and first i−1 symbol portions of the channel matrix H defined in terms of the P column vectors h₁, h₂, . . . , h_(P) of H as:

[0039] A_(i)=[h_(i), h_(i+1), . . . , h_(P)] a Q×(P−i+1) matrix, and

[0040] B_(i)=[h₁, h₂, . . . , h_(i−1)] a Q×(i−1) matrix.

[0041] Also, 0 _((i−1)×Q) is the (i−1)×Q matrix of 0s, 0 _(Q×(P−i+1)) is the Q×(P−i+1) matrix of 0s, and Λ_(i) is the lower-right (P−i+1)×(P−i+1) diagonal submatrix of Λ and thus the symbol energies of the symbols not-already estimated.

[0042] Ordered detection based on the symbol post-detection signal-to-interference-plus-noise ratio (SINR) is often used to reduce the effect of decision feedback error. In particular, let the detection order be π(1), π(2), . . . , π(P) where π( ) is a permutation of the P integers {1,2, . . . ,P}; that is, the first estimated symbol (hard estimate output of the first stage of the iteration) will be ŝ_(π(1)) and thus also be the corresponding nonzero element of ŝ⁽¹⁾. The maximum SINR of the components of the first soft estimate z⁽¹⁾, which estimates all P symbols, determines π⁽¹⁾. Similarly, the SINRs of the components of z⁽²⁾, which estimates all of the symbols except the cancelled s_(π(1)), determines π(2), and so forth. That is, the ith iteration estimates symbol s_(π(i)), and modifying the foregoing to accommodate the ordering is routine but omitted for clarity in notation.

[0043] These MMSE detectors are biased in the sense that E[z_(k)|s_(k)]−s_(k)≠0. However, the bias of the MMSE detectors can be removed by applying a scaling factor to the soft outputs. This scaling factor does not affect post-detection SINR, yet results in increased mean square error compared to the regular biased MMSE estimate. While this unbiasing operation does not affect the performance of LMMSE detectors, it improves the performance of IMMSE detectors because the decision device that is used to generate decision feedback assumes unbiased soft output. The unbiasing operation for IMMSE detectors rescales the soft estimates as follows:

{haeck over (z)} _(p) =z _(p)/α_(p)

[0044] where $\begin{matrix} {{\alpha_{p} = {\lambda_{p}{h_{p}^{H}\left\lbrack {{A_{p}\Lambda_{p}A_{p}^{H}} + {\sigma^{2}I_{Q}}} \right\rbrack}^{- 1}h_{p}}}\quad} \\ {\quad {= \left( {\left\lbrack {{A_{p}^{H}A_{p}} + {\sigma^{2}\Lambda_{p}^{- 1}}} \right\rbrack^{- 1}A_{p}^{H}A_{p}} \right)_{1,1}}} \end{matrix}$

[0045] with {haeck over (z)}_(p) denoting the soft output after unbiasing and the subscript 1,1 denoting the (1,1) matrix element. For unbiased IMMSE, variance-based and mean-squared-error-based normalizations are equivalent.

[0046] 3. Multistage Iterative MMSE Detector Preferred Embodiments

[0047]FIG. 1 is a flow diagram for first preferred embodiment detection methods which include refinement stages (outer loop) of iterative MMSE detections (inner loop). More explicitly, the methods include the following steps in which the superscript (n,i) indicates values generated during the ith iteration within the nth stage, (n,0) denotes the initial conditions for the first iteration in the nth stage, and thus (1,0) denotes the overall initial conditions. Explanations and definitions follow this listing of the steps:

[0048] (1) compute the P×P equalization matrix Φ^((n,i)) from the estimated Q×P transmission channel matrix H and the P×P correlation matrix R^((n,i−1)) which is a diagonal matrix with the (k,k)th element equal to the correlation ρ_(k) ^((n,i−1)) between the kth symbol and the hard decision for the kth symbol available from the iteration (n,i−1) detection.

[0049] (2) compute the forward detection P×Q matrix F^((n,i)) using H and Φ^((n,i)) from (1).

[0050] (3) compute the P×P cancellation matrix G^((n,i)) using H, F^((n,i)) from (2), and R^((n,i−1)).

[0051] (4) compute soft estimate P-vector z^((n,i)) using received Q-vector of samples r, F^((n,i)) from (2), G^((n,i)) from (3), and the P-vector of hard decisions, ŝ^((n,i−1)), available from the iteration (n,i−1) detection.

[0052] (5) compute the post-detection SINRs, γ_(k) ^((n,i)), for soft estimates z_(k) ^((n,i)) from (4) for all P−i+1 symbols not previously detected during the iteration (n,1), (n,2), . . . , (n,i−1) detection(s) of the nth stage; this uses Φ^((n,i)) from (1) and R^((n,i−1)).

[0053] (6) let π(i) denote the subscript k from (5) which labels the largest γ_(k) ^((n,i)), and detect symbol s_(π(i)) using soft estimate z_(π(i)) ^((n,i)) from (4); this detection may be part of a sequence decoding and/or a hard decision decoding; also provide hard decision ŝ_(π(i)) ^((n,i))=D(z_(π(i)) ^((n,i))) for use in interference cancellation in subsequent detections.

[0054] (7) update the P-vector of hard decisions ŝ^((n,i−1)) to ŝ^((n,i)) by changing the π(i) component from ŝ_(π(i)) ^((n,i−1)) to ŝ_(π(i)) ^((n,i)) from (6) and leaving all other components unchanged.

[0055] (8) compute the correlation ρ_(π(i)) ^((n,i)) and then update correlation matrix R^((n,i−1)) to R^((n,i)) by changing the π(i) diagonal element from ρ_(π(i)) ^((n,i−1)) to ρ_(π(i)) ^((n,i)) and leaving all other elements unchaged. The computation of ρ_(π(i)) ^((n,i)) may use γ_(π(i)) ^((n,i)) from (5)-(6) and a constellation plus noise model or may be assessed by ensemble averaging.

[0056] Steps (1)-(8) are performed P times to complete one IMMSE detection (inner loop). The initial conditions for the inner loop are taken from the results of the prior stage: R^((n,0))=R^((n−1,P)) and ŝ^((n,0))=ŝ^((n−1,P)). The first stage (overall) initial conditions are simply R^((1,0))=0 and ŝ^((1,0))=0.

[0057]FIG. 2a illustrates the flow of data (solid arrows) and control (broken arrows) in the foregoing steps which, in more detail, proceed as:

z ^((n,i)) =F ^((n,i)) r−G ^((n,i)) ŝ ^((n,i−1)) for 1≦n≦N, 1≦i≦P

with ŝ ^((1,0))=0_(P)

ŝ ^((n,0)) =ŝ ^((n−1,P)) for 2≦n≦N

[0058] Find the F^((n,i)) and G^((n,i)) by maximizing the post-detection SINRs of the symbols as follows. First, substituting r=H s+w, yields $\begin{matrix} {{z^{({n,i})} = {{F^{({n,i})}r} - {G^{({n,i})}{\hat{s}}^{({n,{i - 1}})}}}}\quad} \\ {\quad {= {{F^{({n,i})}\left( {{H\quad s} + w} \right)} - {G^{({n,i})}{\hat{s}}^{({n,{i - 1}})}}}}} \end{matrix}$

[0059] so impose a unity gain constraint: require the diagonal elements of F^((n,i)) H to equal 1. (This is analogous to the unbiasing operation for IMMSE.) Hence, for each (n,i) the soft symbol estimate may be written:

z _(p) ^((n,i)) =s _(p)+η_(p) ^((n,i)) for 1≦p≦P

[0060] where η_(p) ^((n,i)) is the residual interference plus noise term.

[0061] Simplify the optimization to find F^((n,i)) and G^((n,i)) by presuming the correlation of the transmitted symbols and their hard estimates is expressed by a P×P correlation matrix: ${\Lambda^{- 1}{E\left\lbrack {s{\hat{s}}^{{({n,i})}H}} \right\rbrack}} = {R^{({n,i})} = \begin{bmatrix} \rho_{1}^{({n,i})} & 0 & \cdots & 0 \\ 0 & \rho_{2}^{({n,i})} & \cdots & 0 \\ \vdots & \vdots & ⋰ & \vdots \\ 0 & 0 & \cdots & \rho_{P}^{({n,i})} \end{bmatrix}}$

[0062] Then the post-detection SINR for symbol s_(k), denoted γ_(k) ^((n,i)), is expressed as:

γ_(k) ^((n,i))=λ_(k) /E[|η _(k) ^((n,i))|²]

[0063] Now determine F^((n,i)) and G^((n,i)) by maximizing the γ_(k) ^((n,i)); this yields:

G ^((n,i))=(F ^((n,i)) H−I _(p))R ^((n,i−1))

[0064] $F^{({n,i})} = {\begin{bmatrix} {1/\left\lbrack {h_{1}^{H}\Psi^{({n,i})}h_{1}} \right\rbrack} & \cdots & 0 \\ \vdots & ⋰ & \vdots \\ 0 & \cdots & {1/\left\lbrack {h_{P}^{H}\Psi^{({n,i})}h_{P}} \right\rbrack} \end{bmatrix}H^{H}\Psi^{({n,i})}}$

[0065] where Ψ^((n,i))=[H(I_(P−R) ^((n,i−1)2))ΛH^(H)+σ²I_(Q) ^(]−1) is a Q×Q equalization matrix.

[0066] Applying the matrix inversion lemma gives the alternative formulation used in the foregoing listing of the detection steps: $F^{({n,i})} = {\begin{bmatrix} {1/\left\lbrack {\Phi^{({n,i})}H^{H}H} \right\rbrack_{11}} & \cdots & 0 \\ \vdots & ⋰ & \vdots \\ 0 & \cdots & {1/\left\lbrack {\Phi^{({n,i})}H^{H}H} \right\rbrack_{PP}} \end{bmatrix}\Phi^{({n,i})}H^{H}}$

[0067] where Φ^((n,i))=[H^(H)H (I_(P)−R^((n,i−1)2))+σ²Λ⁻¹]⁻¹ is a P×P equalization matrix.

[0068] The transformation G^((n,i)) controls the amount of interference cancellation at every iteration. When hard decisions are highly reliable (i.e., R^((n,i−1))≅I_(P)), full subtraction is performed; otherwise, partial subtraction according to the correlation.

[0069] The SINRs γ_(k) ^((n,i)) expressed in terms of Φ^((n,i)) and prior correlations ρ_(k) ^((n,i−1)) are:

γ_(k) ^((n,i))={1/(1−ρ_(k) ^((n,i−1)2))}{1/[σ²Λ⁻¹Φ^((n,i))]_(kk)−1}

[0070] This follows from the maximization finding F and G.

[0071] The correlations ρ_(p) ^((n,i)) can be assessed by either (i) ensemble averaging estimation or (ii) an analytical model using γ_(p) ^((n,i)).

[0072] In particular, for ensemble averaging, a pilot channel or a set of training symbols that undergoes the same MIMO channel can be used. For instance, in WCDMA, the common pilot channel (CPICh) can be used for this purpose. First, the received signal corresponding to the known training symbols are passed through the detector. Since the training symbols are foreknown, one can estimate the correlations from the ensemble average of the sample correlation between the training symbols and the resulting detected symbols.

[0073] In contrast, an analytic model allows direct computation without the delay of ensemble averaging. Indeed, the definition of correlation implies:

ρ_(p) ^((n,i))=(1/E[|s_(p)|²])Σ_(jk) C _(j) C _(k)*Prob[ŝ _(p) ^((n,i)) =c _(j) ,s _(p) =c _(k)]

[0074] where c_(j) and c_(k) are symbols in the symbol constellation (which may depend upon p because the constellations may differ among the symbol streams), and

E[|s _(p)|²])=Σ_(k) |c _(k)|²Prob[s _(p) =c _(k)]

[0075] Now the hard decision ŝ_(p) ^((n,i))=D(z_(p) ^((n,i))) is a maximum likelihood decision (see section 6 for alternatives) for z_(p) ^((n,i))=s_(p)+η_(p) ^((n,i)) where η_(p) ^((n,i)) is the residual interference plus noise and may be approximated as (complex) normally distributed with mean 0 and variance λ_(p)/γ_(p) ^((n,i)). (Exact expressions which avoid this approximation are more complicated with little accuracy improvement.) Thus the correlations ρ_(p) ^((n,i)) can be evaluated as functions of the SINRs γ_(p) ^((n,i)) and the symbol constellations.

[0076] As example, for the QPSK symbol constellation with all four symbols equi-likely, the maximum likelihood decision reduces to the signum function applied to the real and imaginary parts and scaled for energy:

Re{ŝ _(p) ^((n,i)) }=sgn(Re{z _(p) ^((n,i))}){square root}(λ_(p)/2)

Im{ŝ _(p) ^((n,i)) }=sgn(Im{z _(p) ^((n,i))}){square root}(λ_(p)/2).

[0077] Similarly for the 16-QAM constellation (scaled to λ_(p)=1 for notational convenience): $\begin{matrix} {{{Re}\left\{ {\hat{s}}_{p}^{({n,i})} \right\}} = {{- 3}/\left. \sqrt{}10 \right.}} & {if} & {{{Re}\left\{ z_{p}^{({n,i})} \right\}} \leq {{- 2}\left. \sqrt{}10 \right.}} \\ {= {{- 1}/\left. \sqrt{}10 \right.}} & {if} & {{{- 2}\left. \sqrt{}10 \right.} < {{Re}\left\{ z_{p}^{({n,i})} \right\}} \leq 0} \\ {{= {1/\left. \sqrt{}10 \right.}}\quad} & {if} & {0 < {{Re}\left\{ z_{p}^{({n,i})} \right\}} \leq {2\left. \sqrt{}10 \right.}} \\ {{= {3/\left. \sqrt{}10 \right.}}\quad} & {if} & {{2\left. \sqrt{}10 \right.} < {{Re}\left\{ z_{p}^{({n,i})} \right\}}} \end{matrix}$

[0078] And analogously for the imaginary parts.

[0079] The normal distribution of η_(p) ^((n,i)) implies for the QPSK constellation:

ρ_(p)=1−2Q({square root}γ_(p))

[0080] where Q(x) is the x-tail of the normal distribution (Gaussian Q function). A similar result holds for the 16-QAM constellation:

ρ_(p)=1−(1/5){3Q({square root}γ_(p)/5)+4Q(3{square root}γ_(p)/5)+3Q(5{square root}γ_(p)/5)}

[0081] Section 5 describes preferred embodiment implementation details.

[0082] 4. Illustrative Example of Preferred Embodiment Methods

[0083] To illustrate the refining of the interference cancellation in the foregoing preferred embodiment methods, consider the low-complexity case of P=Q=2 and a simple channel matrix $\quad\begin{bmatrix} h & h \\ h & {i\quad h} \end{bmatrix}$

[0084] where h is an attenuation and phase factor. (A physical case of parallel antenna pairs with an offset could have such a channel matrix.) Now F is of order 1/h and Φ is of order 1/h², so simplify the notation by combining the channel coefficient h, symbol energy λ (take both symbols of equal energy), and the channel noise power σ² into a single parameter: S=σ²/(|h|²λ), and ignore the h scale factors of F and Φ. That is, take: ${H = \begin{bmatrix} 1 & 1 \\ 1 & i \end{bmatrix}},{{{so}\quad H^{H}} = \begin{bmatrix} 1 & 1 \\ 1 & {- i} \end{bmatrix}},{{{and}\quad H^{H}H} = \begin{bmatrix} 2 & {1 + i} \\ {1 - i} & 2 \end{bmatrix}}$

[0085] First compute the equalization matrix: $\begin{matrix} {\Phi^{({n,i})} = \left\lbrack {{H^{H}{H\left( {I - R^{{({n,{i - 1}})}2}} \right)}} + {S\quad I}} \right\rbrack^{- 1}} \\ {= \begin{bmatrix} {{2\left( {1 - \rho_{1}^{2}} \right)} + S} & {\left( {1 + i} \right)\left( {1 - \rho_{2}^{2}} \right)} \\ {\left( {1 - i} \right)\left( {1 - \rho_{1}^{2}} \right)} & {{2\left( {1 - \rho_{2}^{2}} \right)} + S} \end{bmatrix}^{- 1}} \\ {{{{{where}\quad \rho_{k}} = {{\rho_{k}^{({n,{i - 1}})}\quad {for}\quad k} = 1}},2}} \\ {= {\left( {1/\Delta} \right)\begin{bmatrix} {{2\left( {1 - \rho_{2}^{2}} \right)} + S} & {{- \left( {1 + i} \right)}\left( {1 - \rho_{2}^{2}} \right)} \\ {{- \left( {1 - i} \right)}\left( {1 - \rho_{1}^{2}} \right)} & {{2\left( {1 - \rho_{1}^{2}} \right)} + S} \end{bmatrix}}} \end{matrix}$

[0086] where the determinant is Δ=[2(1−ρ₁ ²)+S][2(1−ρ₂ ²)+S]−2(1−ρ₁ ²)(1−ρ₂ ²).

[0087] Next, compute the forward detection: F^((n,i))=D^((n,i))Φ^((n,i))H^(H) where D^((n,i)) is the 2×2 diagonal matrix which makes the diagonal elements of F^((n,i))H equal 1 to avoid biasing the estimates. Of course, F^((n,i))H equals D^((n,i))Φ^((n,i))H^(H)H, which is used to evaluate D^((n,i)) as follows: $\begin{matrix} {{\Phi^{({n,i})}H^{H}H} = {{\left( {1/\Delta} \right)\begin{bmatrix} {{2\left( {1 - \rho_{2}^{2}} \right)} + S} & {{- \left( {1 + i} \right)}\left( {1 - \rho_{2}^{2}} \right)} \\ {{- \left( {1 - i} \right)}\left( {1 - \rho_{1}^{2}} \right)} & {{2\left( {1 - \rho_{1}^{2}} \right)} + S} \end{bmatrix}}\begin{bmatrix} 2 & {1 + i} \\ {1 - i} & 2 \end{bmatrix}}} \\ {= {\left( {1/\Delta} \right)\begin{bmatrix} {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} & {\left( {1 + i} \right)S} \\ {\left( {1 - i} \right)S} & {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \end{bmatrix}}} \\ {{{{so}\quad D^{({n,i})}} = {{\Delta \quad\begin{bmatrix} {1/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack} & 0 \\ 0 & {1/\left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack} \end{bmatrix}}.}}\quad} \\ {{Hence},{F^{({n,i})} = {D^{({n,i})}\Phi^{({n,i})}H^{H}}}} \\ {= {{\Delta \quad\begin{bmatrix} {1/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack} & 0 \\ 0 & {1/\left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack} \end{bmatrix}} \times}} \\ {{\begin{bmatrix} {{2\left( {1 - \rho_{2}^{2}} \right)} + S} & {{- \left( {1 + i} \right)}\left( {1 - \rho_{2}^{2}} \right)} \\ {{- \left( {1 - i} \right)}\left( {1 - \rho_{1}^{2}} \right)} & {{2\left( {1 - \rho_{1}^{2}} \right)} + S} \end{bmatrix}\begin{bmatrix} 1 & 1 \\ 1 & {- i} \end{bmatrix}}} \\ {= {\Delta \begin{bmatrix} {1/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack} & 0 \\ 0 & {1/\left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack} \end{bmatrix}}} \\ {\begin{bmatrix} {{\left( {1 - i} \right)\left( {1 - \rho_{2}^{2}} \right)} + S} & {{\left( {1 + i} \right)\left( {1 - \rho_{2}^{2}} \right)} + S} \\ {{\left( {1 + i} \right)\left( {1 - \rho_{1}^{2}} \right)} + S} & {{\left( {{- 1} - i} \right)\left( {1 - \rho_{1}^{2}} \right)} - {i\quad S}} \end{bmatrix}} \\ {= {\Delta \begin{bmatrix} {\left\lbrack {{\left( {1 - i} \right)\left( {1 - \rho_{2}^{2}} \right)} + S} \right\rbrack/} & {\left\lbrack {{\left( {1 + i} \right)\left( {1 - \rho_{2}^{2}} \right)} + S} \right\rbrack/} \\ \left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack & \left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack \\ {\left\lbrack {{\left( {1 + i} \right)\left( {1 - \rho_{1}^{2}} \right)} + S} \right\rbrack/} & {\left\lbrack {{\left( {{- 1} - i} \right)\left( {1 - \rho_{1}^{2}} \right)} - {i\quad S}} \right\rbrack/} \\ \left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack & \left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack \end{bmatrix}}} \end{matrix}$

[0088] Next, compute the cancellation matrix: G^((n,i))=(F^((n,i))H−I)R^((n,i−1)). The term F^((n,i))H equals D^((n,i))Φ^((n,i))H^(H)H and the two factors D^((n,i)) and Φ^((n,i))H^(H)H appear above, thus $\begin{matrix} {{F^{({n,i})}H} = \begin{bmatrix} {1/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack} & 0 \\ 0 & {1/\left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack} \end{bmatrix}} & \quad \\ {{~~~~~~~~~~~~~~~~~~~~}\begin{bmatrix} {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} & {\left( {1 + i} \right)S} \\ {\left( {1 - i} \right)S} & {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \end{bmatrix}} & \quad \\ {\quad {= \begin{bmatrix} 1 & {\left( {1 + i} \right){S/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack}} \\ {\left( {1 - i} \right){S/\left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack}} & 1 \end{bmatrix}}} & \quad \\ {{Hence},{G^{({n,i})} = {\left( {{F^{({n,i})}H} - I} \right)R^{({n,{i - 1}})}}}} & \quad \\ {\quad {= \begin{bmatrix} 0 & {\left( {1 + i} \right){S/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack}} \\ {\left( {1 - i} \right){S/\left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack}} & 0 \end{bmatrix}}} & \quad \\ {\quad \begin{bmatrix} \rho_{1} & 0 \\ 0 & \rho_{2} \end{bmatrix}} & \quad \\ {\quad {= \begin{bmatrix} 0 & {{\rho_{2}\left( {1 + i} \right)}{S/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2S}} \right\rbrack}} \\ {{\rho_{1}\left( {1 - i} \right)}{S/\left\lbrack {{2\left( {1 - \rho_{1}^{2}} \right)} + {2S}} \right\rbrack}} & 0 \end{bmatrix}}} & \quad \end{matrix}$

[0089] Now the soft estimates are:

z ^((n,i)) =F ^((n,i)) r−G ^((n,i)) ŝ ^((n,i−1))

[0090] $\begin{matrix} {{So},{z_{1}^{({n,i})} = {{{{\Delta \left\lbrack {{\left( {1 - i} \right)\left( {1 - \rho_{2}^{2}} \right)} + S} \right\rbrack}/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2\quad S}} \right\rbrack}r_{1}} +}}} \\ {{{{{\Delta \left\lbrack {{\left( {1 + i} \right)\left( {1 - \rho_{2}^{2}} \right)} + S} \right\rbrack}/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2\quad S}} \right\rbrack}r_{2}} -}} \\ {\left\lbrack {{\rho_{2}\left( {1 + i} \right)}{S/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2\quad S}} \right\rbrack}{\hat{s}}_{2}^{({n,{i - 1}})}} \right.} \end{matrix}$

[0091] And similarly for z₂ ^((n,i)). The symbol selected for detection is the symbol with greater SINR.

[0092] To see the cancellation in the z^((n,i)) estimates, substitute r=Hs+w, thus z^((n,i))=F^((n,i))Hs+F^((n,i))w−G^((n,i))ŝ^((n,i−1)). And so:

z ₁ ^((n,i)) =s ₁+(1+i)s/[2(1−ρ₂ ^((n,i−1)2))+2S](s ₂−ρ₂ ^((n,i−1)) ŝ ₂ ^((n,i−1)))+[Fw] ₁

[0093] where $\begin{matrix} {\left\lbrack {F\quad w} \right\rbrack_{1} = {{\Delta \left\{ {\left\lbrack {{\left( {1 - i} \right)\left( {1 - \rho_{2}^{2}} \right)} + S} \right\rbrack/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2\quad S}} \right\rbrack} \right\} w_{1}} +}} \\ {\quad {\Delta \left\{ {\left\lbrack {{\left( {1 + i} \right)\left( {1 - \rho_{2}^{2}} \right)} + S} \right\rbrack/\left\lbrack {{2\left( {1 - \rho_{2}^{2}} \right)} + {2\quad S}} \right\rbrack} \right\} w_{2}}} \end{matrix}$

[0094] And analogously for z₂ ^((n,i)).

[0095] Without loss of generality, consider z₁ ^((n,i)); then the s₂ interference term is (with explicit superscripts)

{(1+i)S/[2(1−ρ₂ ^((n,i−1)2))+2S]}(s ₂−ρ₂ ^((n,i−) 1)ŝ ₂ ^((n,i−1)))

[0096] Now as ρ₂ increases from 0 to 1, the s₂ interference term from F increases because the denominator [2(1−ρ₂ ^((n,i−1)2))+2S] decreases, but this is offset by the increasing cancellation from G. The net effect can be quantified by the relation between ρ_(k) and S. Thus consider the asymptotic case when n becomes large and ρ₂ ^((n,i)) and ŝ₂ ^((n,i−1)) converge to limiting values independent of n and i, and ŝ₂ (hopefully) equals s₂. In this case the S₂ interference term simplifies to

{S(1−ρ₂)/[(1−ρ₂ ²)+S]}(1+i)s ₂/2.

[0097] To evaluate the factor in braces, apply the equations for ρ_(k) and γ_(k). For simplicity take the QPSK symbol constellation, thus:

ρ_(k)=1−2Q({square root}γ_(k)).

[0098] $\begin{matrix} {{{{So}\quad 1} - \rho_{k}} = {2{Q\left( \left. \sqrt{}\gamma_{k} \right. \right)}}} \\ {= {\left. \sqrt{}\left( {{2/\pi}\quad \gamma_{k}} \right) \right.{^{{- \gamma}\quad {k/2}}\left\lbrack {1 - {1/\left( {\gamma_{k} + 2} \right)} + {{1/\left( {\gamma_{k} + 2} \right)}\left( {\gamma_{k} + 4} \right)} - {+ \ldots}} \right\rbrack}}} \\ {\cong {\left. \sqrt{}\left( {{2/\pi}\quad \gamma_{k}} \right) \right.^{{- \gamma}\quad {k/2}}\quad {if}\quad \gamma_{k}\quad {is}\quad {large}}} \\ {{{And}\quad \gamma_{k}} = {\left( {1/\left\lbrack {1 - \rho_{k}^{2}} \right\rbrack} \right)\left( {{1/\left\lbrack {S\quad \Phi} \right\rbrack_{k\quad k}} - 1} \right)}} \\ {= {{{\left\{ {{2\left\lbrack {\left( {1 - \rho_{j}^{2}} \right) + S} \right\rbrack}/\left\lbrack {{2\left( {1 - \rho_{j}^{2}} \right)} + S} \right\rbrack} \right\}/S}\quad {where}\quad j} \neq k}} \end{matrix}$

[0099] Because S is positive and the correlations are between −1 and 1, the factor 2[(1−ρ_(j) ²)+S]/[2(1−ρ_(j) ²)+S] is bounded between 1 and 2 with the upper bound tight for ρ_(j) close to 1. Hence,

1/S≦γ _(k)≦2/S

[0100] Note that 1/S is the received symbol SNR per channel and in this example there are 4 channels (combinations of 2 receive antennas and 2 transmit antennas); whereas, the post-detection SINR is the total SINR after detection and thus includes the combining across 2 receive antennas.

[0101] A small S implies a large γ_(k) and so 1−ρ_(k) is easily bounded by e^(−1/2S) and thus very small compared to S. Consequently, the asymptotic S₂ interference term for small S is: {S(1 − ρ₂)/[(1 − p₂²) + S]}(1 + i)s₂/2 ≅ (1 − ρ₂)(1 + i)s₂/2 ∼ e^(−1/2S)  (1 + i)s₂/2

[0102] Hence the overall effect of the preferred embodiment staged interference cancellation is a decrease of the s₂ interference from size on the order of S towards an asymptotic size bounded by e^(−1/2S), and so the channel noise term dominates the detection error.

[0103] The asymptotic case with not-small S can be numerically or graphically estimated. Indeed, presume (due to symmetry) that ρ₁=ρ₂ and γ₁=γ₂ and take a channel with SNR=2 (3 dB) as a semi-practical illustration. Thus S=1/2, γ=4[2(1−ρ²)+1]/[4(1−ρ²)+1], and ρ=1−2Q({square root}γ); this yields ρ≅0.93 and γ≅3.4. And the asymptotic s₂ interference term for S=1/2 is:

{S(1−ρ)/[(1−ρ²)+S]}(1+i)s ₂/2≅(0.07) (1+i)s ₂/2

[0104] To see the speed of convergence to the asymptotic state, consider the second stage: z₁ ^((2,1)) and presume s₁ was detected prior to s₂ in the first stage so that ρ₂ ^((1,1))=0:

z ₁ ^((2,1)) =s ₁+(1+i)S/[2(1−ρ₂ ^((2,0)2))+2S](s ₂−ρ₂ ^((2,0)) ŝ ₂ ^((2,0)))+[Fw] ₁

[0105] where ρ₂ ^((2,0))=ρ₂ ^((1,2)) from the first stage. As previously, quantify by using the relations (for QPSK):

ρ₂ ^((1,2))=1−2Q({square root}γ₂ ^((1,2)))

γ₂ ^((1,2))={[(1−ρ₁ ^((1,1)2))+S]/[(1−ρ₁ ^((1,1)2))+S/2]}/S

[0106] Again there is a bound, 1/S≦γ₂ ^((1,2))≦2/S, and the upper bound is tight for ρ₁ ^((1,1)) close to 1. Now ρ^((1,1)) comes from the first stage as

ρ₁ ^((1,1))=1−2Q({square root}γ₁ ^((1,1)))

[0107] And ρ₁ ^((1,0))=0 implies γ₁ ^((1,1))={[1+S]/[1+S/2]}/S

[0108] Thus for small S,γ₁ ^((1,1)) is large, ρ₁ ^((1,1)) is close to 1, γ₂ ^((1,2)) is large, 1−ρ₂ ^((1,2)) is very small and roughly bounded by e^(−1/2S), and the s₂ interference becomes {(1+i)/2}(s₂−ρ₂ ^((1,2))ŝ₂ ^((2,0))). Thus the second stage is close to full cancellation because ρ₂ ^((1,2)) is very close to 1.

[0109] Again for not-small S, consider S=1/2; then γ₁ ^((1,1))=12/5, ρ₁ ^((1,1))≅0.88, γ₂ ^((1,2))≅3.0, ρ₂ ^((2,0))=ρ₂ ^((1,2))≅0.92, and the s₂ interference term is:

(1+i)S/[2(1−ρ₂ ^((2,0)2))+2S](s ₂−ρ₂ ^((2,0)) ŝ ₂ ^((2,0)))≅(0.1)(1+i)s ₂/2

[0110] which is roughly 1.5 times the asymptotic result.

[0111] 5. Preferred Embodiment Implementations

[0112] The filtering with F^((n,i)) and G^((n,i)) can be combined with the symbol selector (see FIG. 2a) to reduce the number of computations in the filtering process. This reduces P-dimensional to 1-dimensional filtering. That is, evaluate the SINRs, which uses the equalization matrix Φ (or Ψ), to pick the symbol to detect, and then only form the needed portions of F^((n,i)) and G^((n,i)) and filter.

[0113] Two alternative formulations of the derivations of F_((n,i)) appear in the foregoing; namely, use of the P×P equalization matrix Φ or the Q×Q equalization matrix Ψ. Because Q≧P (in order to have the rank of H^(H)H equal to P), the use of Φ would seem to have lower complexity. However, only for Q much greater than P is Φ preferred. Rather, for Q=P, which MIMO systems typically use, preferred embodiment implementations avoid apparent matrix inversions using the Ψ approach as follows. First, notice that both Φ and Ψ change every iteration, and thus they need to be updated NP times for each complete detection. This seemingly implies NP matrix inversions. However, updating R^((n,i−1)) to R^((n,i)) changes only the (π(i),π(i)) diagonal element from ρ_(π(i)) ^((n,i−1)) to ρ_(π(i)) ^((n,i)) where π(i) denotes the symbol s_(π(i)) selected for detection during the ith iteration. Hence, $\begin{matrix} {\Psi^{({n,{i + 1}})} = \left\lbrack {{{H\left( {I_{P} - R^{{({n,i})}2}} \right)}\quad \Lambda \quad H^{H}} + {\sigma^{2}I_{Q}}} \right\rbrack^{- 1}} \\ {= \left\lbrack {{{H\left( {I_{P} - R^{{({n,{i - 1}})}2}} \right)}\quad \Lambda \quad H^{H}} + {\sigma^{2}I_{Q}} + {{H\left( {{- \Delta}\quad R^{{({n,i})}2}} \right)}\quad \Lambda \quad H^{H}}} \right\rbrack^{- 1}} \end{matrix}$

[0114] where the change from R^((n,i−1)2) to R^((n,i)2) has been separated out as the matrix ΔR^((n,i)2) which has a single (π(i),π(i)) diagonal element ρ_(π(i)) ^((n,i)2)−ρ_(π(i)) ^((n,i−1) 2). Further, the first terms on the right side are the inverse of Ψ^((n,i)), so

Ψ^((n,i+1))=[[Ψ^((n,i))]⁻¹+H(−ΔR^((n,i)2))ΛH^(H)]⁻¹

[0115] And the single nonzero element structure of ΔR^((n,i)2) allows the matrix products of the second term on the right to be expressed as a tensor product of two vectors: $\begin{matrix} {{{H\left( {{- \Delta}\quad R^{{({n,i})}2}} \right)}\quad \Lambda \quad H^{H}} = {\left( {{\rho_{\pi \quad {(i)}}}^{{({n,{i - 1}})}2} - {\rho_{\pi \quad {(i)}}}^{{({n,i})}2}} \right)\lambda_{\pi \quad {(i)}}h_{\pi \quad {(i)}}h_{\pi \quad {(i)}}^{H}}} \\ {= {{\Delta\rho}_{\pi \quad {(i)}}\quad h_{\pi \quad {(i)}}h_{\pi \quad {(i)}}^{H}}} \end{matrix}$

[0116] where (ρ_(π(i)) ^((n,i−1)2)−ρ_(π(i)) ^((n,i)2))λ_(π(i)) has been abbreviated as Δ_(π(i)). Thus

Ψ^((n,i+1))=[[Ψ^((n,i))]⁻¹+Δρ_(π(i))h_(π(i))h_(π(i)) ^(H)]⁻¹

[0117] Now applying the matrix inversion lemma yields:

Ψ^((n,i+1))=Ψ^((n,i))−Ψ^((n,i)) h _(π(i)) [h _(π(i)) ^(H)Ψ^((n,i)) h _(π(i))+1/Δρ_(π(i))]⁻¹ h _(π(i)) ^(H)Ψ_((n,i))

[0118] which has converted the Q×Q matrix inversion into a 1×1 matrix inversion (i.e., just numerical reciprocal) due to the structure of h_(π(i))h_(π(i)) ^(H) as a tensor product of Q×1 matrices (vectors). In short, h_(π(i)) ^(H)Ψ^((n,i))h_(π(i))+1/Δρ_(π(i)) is a scalar. Consequently, the recursion:

Ψ^((n,i+1))=Ψ^((n,i))−Ψ^((n,i)) h _(π(i)) h _(π(i)) ^(H)Ψ^((n,i)) /[h _(π(i)) ^(H)Ψ^((n,i)) h _(π(i))+1/Δρ_(π(i))]

[0119] has no matrix inversions beyond the initial Ψ^((1,0))=[HΛH^(H)+σ²I_(Q)]⁻¹.

[0120] And the SINR can also be expressed in terms of Ψ^((n,i)) as

γ_(p) ^((n,i+1))=λ_(p) h _(p) ^(H)(Ψ^((n,i))−Ψ^((n,i)) h _(π(i)) h _(π(i)) ^(H)Ψ^((n,i)) /D)h _(p)

[0121] where D=λ_(p) ⁻¹(1−ρ_(π(i)) ^((n,i)2))⁻¹−h_(p) ^(H)Ψ^((n,i)h) _(p). Hence, the foregoing preferred embodiment could be cast in terms of Ψ^((n,i)) with the foregoing updating.

[0122] The analogous analysis for Φ^((n,i)) follows similar lines: $\begin{matrix} {\Phi^{({n,{i + 1}})} = \left\lbrack {{H^{H}H\quad \left( {I_{P} - R^{{({n,i})}2}} \right)} + {\sigma^{2}\quad \Lambda^{- 1}}} \right\rbrack^{- 1}} \\ {= \left\lbrack {\left\lbrack \Phi^{({n,i})} \right\rbrack^{- 1} + {H^{H}H\quad \Delta \quad R^{{({n,i})}\quad 2}}} \right\rbrack^{- 1}} \end{matrix}$

[0123] and again the single nonzero element structure of ΔR^((n,i)2) allows the matrix product H^(H)H ΔR^((n,i)2) to be expressed as a constant times the tensor product of two vectors: Δρ_(π(i))(H^(H)H)_(π(i)) 1_(π(i)) ^(H) where (H^(H)H)_(π(i)) is the π(i) column P-vector of H^(H)H and 1_(π(i)) is the column P-vector with all components equal to 0 except the π(i)th component. Note that here Δρ_(π(i))=ρ_(π(i)) ^((n,i−1)2)−ρ_(π(i)) ^((n,i)2)).

[0124] Then the matrix inversion lemma yields the recursion:

Φ^((n,i+1))=Φ^((n,i))−Φ^((n,i))(H ^(H) H) _(π(i))1_(π(i)) ^(H)Φ^((n,i))/[1_(π(i)) ^(H)Φ^((n,i))(H ^(H) H)_(π(i))+1/Δρ_(π(i)])

[0125] and again there are no matrix inversions beyond the initial [H^(H)H+σ²Λ⁻¹]⁻¹. Further, this updating of Φ^((n,i)) could be used in the SINR computations.

[0126] Note that the foregoing updating method without matrix inversions would also apply to methods in which changes occur in more than one value of the correlation coefficients, such as in various iterated-decision LMMSE methods. Multiple single value recursions can be performed to achieve to update multiple changes, where each recursion is used to update one change.

[0127] 6. Decision Alternatives

[0128] The foregoing preferred embodiments hard decision method D (which converts z_(π(i)) ^((n,i)) into ŝ_(π(i)) ^((n,i))) uses a maximum likelihood approach that applies a hard-limiter (hard-clipping) non-linearity. Alternative preferred embodiment non-linearities, such as hyperbolic tangent and soft linear clipping, may result in better performance. They can be described mathematically as follows for BPSK:

[0129] Hyperbolic tangent: D(z)=tanh(Re{z}/ξ)

[0130] Soft linear clipped: $\begin{matrix} {{(z)} = {+ 1}} & {{{if}\quad {Re}\left\{ z \right\}} > \xi} \\ {\quad {= {- 1}}} & {{{if}\quad {Re}\left\{ z \right\}} < {- \xi}} \\ {\quad {= {{Re}\left\{ z \right\}}}\quad} & {{{if}\quad {{{Re}\left\{ z \right\}}}} \leq \xi} \end{matrix}$

[0131] where ξ is a non-negative constant. For higher order modulation, the decision is done in the bit level following the bit log likelihood ratio computation (as described in Section 7). Alternatively, for QPSK, the real and imaginary parts of: D(z) can be taken as tanh(Re{z}/ξ) and tanh(Im{z}/ξ), respectively; or the corresponding soft linear with Re{z} and Im{z}, respectively. Further, for higher order (larger constellations) the soft linear extends by selecting the constant to make D(z)=z for z in the constellation.

[0132] In these cases the decision statistics that are close to zero are effectively scaled instead of clipped; the scaling depends upon the variance of the residual interference plus noise. Use the same cancellation (interference subtraction) with these hard decisions defining the ŝ_(k) ^((n,i)).

[0133] 7. Decoding

[0134] The demodulator converts the soft symbol estimates z_(π(1)) ^((N,1)),z_(π(2)) ^((n,2)), . . . , z_(π(P)) ^((N,P)) output by an N-stage detector into conditional probabilities; and the conditional probabilities translate into bit-level log likelihood ratios (LLRs) for (sequence) decoding. In more detail, the LLRs in terms of the bits U_(pk) which define the constellation symbol s_(p) (e.g., two bits for a QPSK symbol, four bits for a 16QAM symbol, etc.) are defined (dropping the superscripts on the z_(p)) as $\begin{matrix} {{{LLR}\left( u_{pk} \right)} = {\log \quad \left\{ {P\left\lbrack {u_{pk} = {1{\left. z_{p} \right\rbrack/{P\left\lbrack {u_{pk} = 0} \right.}}z_{p}}} \right\rbrack} \right\}}} \\ {= {\log \left\{ {{P\left\lbrack {u_{pk} = {1\left. z_{p} \right\rbrack}} \right\}} - {\log \left\{ {{P\left\lbrack {u_{pk} = 0} \right.}z_{p}} \right\rbrack}} \right\}}} \end{matrix}$

[0135] The LLRs can be computed using a channel model. For example, $\begin{matrix} {{{LLR}\left( u_{pk} \right)} = {\log \quad \left\{ {P\left\lbrack {u_{pk} = {1{\left. z_{p} \right\rbrack/{P\left\lbrack {u_{pk} = 0} \right.}}z_{p}}} \right\rbrack} \right\}}} \\ {= {{\log \left\{ {p\left( {{z_{p}{\left. {u_{pk} = 1} \right)/{p\left( z_{p} \right.}}u_{pk}} = 0} \right)} \right\}} +}} \\ {{\log \left\{ {{P\left\lbrack {u_{pk} = 1} \right\rbrack}/{P\left\lbrack {u_{nk} = 0} \right\rbrack}} \right\}}} \end{matrix}$

[0136] where the first log term includes the probability distribution of the demodulated symbol z_(p) which can be computed using the channel model. The second log term is the log of the ratio of a priori probabilities of the bit values and typically equals 0. So for an AWGN channel where the residual interference (interference which is not cancelled) is also a zero-mean, normally-distributed, independent random variable, the channel model gives:

p(z _(p) |s _(p) =c)˜exp(−|z _(P) −c| ²/γ_(p))

[0137] where c is a symbol in the symbol constellation and γ_(p) is a normalization typically derived from the channel characteristics and the detector type. Of course, γ_(p) is just twice the variance of the estimation error random variable.

[0138] Then compute LLRs by using an approximation which allows direct application of the channel model. Take p(z_(p)|u_(pk)=1)=p(z_(p)|s_(p)=c_(pk=1)) where c_(pk=1) is the symbol in the sub-constellation of symbols with kth bit equal 1 and which is the closest to z_(p); that is, c_(pk=1) minimizes |z_(p)−c_(k=1)|² for c_(k=1) a symbol in the sub-constellation with kth bit equal to 1. Analogously for p(z_(p)−u_(pk)=0) using the sub-constellation of symbols with kth bit equal 0. Then with equal a priori probabilities of the bit values and the notation subscript k=1 and k=0 indicating symbols with kth bit 1 and 0, respectively, the approximation yields $\begin{matrix} {{{LLR}\left( u_{pk} \right)} = {\log \left\{ {p\left( {{z_{p}{\left. {u_{pk} = 1} \right)/{p\left( z_{p} \right.}}u_{pk}} = 0} \right)} \right\}}} \\ {\cong {{1/\gamma_{p}}\left\{ {{\min_{k = 0}{{z_{p} - c_{k = 0}}}^{2}} - {\min_{k = 1}{{z_{p} - c_{k = 1}}}^{2}}} \right\}}} \end{matrix}$

[0139] Thus the LLR computation just searches over the two symbol sub-constellations for the minima.

[0140] The LLRs are used in decoders for error correcting codes such as Turbo codes (e.g., iterative interleaved MAP decoders with BCJR or SOVA algorithm using LLRs for each MAP) and convolutional codes (e.g. Viterbi decoders). Such decoders require soft bit statistics (in terms of LLR) from the detector to achieve their maximum performance (hard bit statistics with Hamming instead of Euclidean metrics can also be used but result in approximately 3dB loss). Alternatively, direct symbol decoding with LLRs as the conditional probability minus the a priori probability could be used

[0141] 8. Simulation Results

[0142] Simulations for 4×4 MIMO QPSK and 16QAM systems in uncorrelated (IID) MIMO channels were performed to compare a preferred embodiment with other detection methods. In particular, the comparison included a preferred embodiment method, a linear MMSE, an iterative MMSE with optimal SINR-based detection ordering (similar to the first stage of a preferred embodiment with correlations either 0 or 1), and an iterated-decision linear MMSE as in Chen and Wornell (see background) using five stages to achieve convergence.

[0143]FIGS. 3a-3 b illustrate the raw BER versus E_(b)/N₀ results. The following table expresses the performance of a 2-stage preferred embodiment relative to the 5-stage iterated-decision linear MMSE and the iterative MMSE with optimal SINR detection in terms of E_(b)/N₀ (dB) required to achieve a BER of 0.01: Method (4,4) QPSK (4,4) 16QAM Iterative MMSE/optimal SINR 3.3 10/0 5-stage iterative decision 4.2 10.7 2-stage preferred embodiment 3.1  9.5

[0144] The preferred embodiments show considerable gain with 2 stages relative to the iterative MMSE with optimal SINR which is roughly comparable to a preferred embodiment with only 1 stage. The implementation preferred embodiments of section 5 allow inclusion of additional stages with small complexity increase. Note that the implementations of section 5 may also be applied to updates in the iterative-decision methods.

[0145] 9. Modifications

[0146] The preferred embodiments may be varied while retaining one or more of the features of stages of detections with each detection using optimal SINR and cancellation with correlation-weighted current hard decisions.

[0147] For example, a sub-optimal alternative to the correlation weighting is to choose a set of pre-determined weighting coefficients, which do not depend on the channel, but increase as the number of iterations and/or stages increase. Also, a stage may be terminated prior to completion and the then-current decoding used, so some symbol estimates would be from the current stage and some from the prior stage. 

What is claimed is:
 1. A multistage iterative minimum mean square error detection method, comprising: (a) receiving Q samples of P symbols transmitted from a plurality of sources, where P is an integer greater than 1 and Q is an integer not less than P; (b) iteratively first detecting each of said P symbols using said Q samples wherein each of said first detections is a minimum mean square error detection including cancellation of symbols detected in prior iterations of said first detections; and (c) after step (b), iteratively second detecting ones of said P symbols using said Q samples wherein each of said second detections is a minimum mean square error detection including cancellation of said symbols detected in either prior iterations of said second detections or in said first detections.
 2. The method of claim 1, wherein: (a) said second detections have the form F^((i))r−G^((i))ŝ^((i−1)) where i is an iteration index, r is a Q-vector of received samples, F^((i)) is a normalized product of an equalization matrix and a matched filter matrix, G^((i)) is a cancellation matrix, and ŝ^((i−1)) is a P-vector of hard decisions on said symbols detected in either prior iterations of said second detections or in said first detections.
 3. The method of claim 2, wherein: (a) said F^((i)) and G^((i)) are found by maximizing the signal-to-interference-plus-noise ratios of said symbols.
 4. The method of claim 2, wherein: (a) said matrix F^((i)) has the form DΦ^((i)) H^(H) where D is a diagonal matrix normalizing the diagonal terms of F^((i)), Φ^((i)) is a P×P equalization matrix, and H^(H) is the Hermitian conjugate of the Q×P channel matrix for the channel from the P sources to the Q sinks.
 5. The method of claim 4, wherein: (a) said P×P equalization matrix Φ^((i)) is found by a matrix-inversion-free recursion using Φ^((i−1)).
 6. The method of claim 2, wherein: (a) the matrix F^((i)) has the form D H^(H)Ψ^((i)) where D is a diagonal matrix normalizing the diagonal terms of F^((i)), Ψ^((i)) is a Q×Q equalization matrix, and H^(H) is the Hermitian conjugate of the Q×P channel matrix for the channel from the P sources to the Q sinks.
 7. The method of claim 6, wherein: (a) said P×P equalization matrix Ψ^((i)) is found by a matrix-inversion-free recursion using Ψ^((i−1)).
 8. The method of claim 3, wherein: (a) the matrix G^((i)) has the form G^((i))=(F^((i))H−I_(p))R^((i−1)) where H is the Q×P channel matrix for the channel from the P sources to the Q sinks and R^((i−1)) is a correlation matrix of correlations of symbols and their hard decision estimates available in iteration i−1.
 9. The method of claim 8, wherein (a) the elements of said correlation matrix R^((i−1)) of claim 8 are found from said signal-to-interference-plus-noise ratio together with said hard decision method and a normal approximation for residual interference plus noise.
 10. The method of claim 8, wherein (a) the elements of said correlation matrix R^((i−1)) of claim 8 are found from pilot symbols and ensemble averaging.
 11. The method of claim 2, wherein: (a) said hard decision vector sŝ^((i)) of claim 2 is computed by ŝ_(k) ^((i))=D^((z) _(k) ^((i))) where z=F^((i))r−G^((i))ŝ^((i−1)) and D(z) is defined as the symbol of a constellation which minimizes the distance from D(z) to z.
 12. The method of claim 2, wherein: (a) said hard decision vector ŝ^((i)) of claim 2 is computed by ŝ_(k) ^((i))=D(z_(k) ^((i))) where z=F^((i))r−G^((i))ŝ^((i−1)) and D(z) is defined as tanh(Re{z}/c) for symbols z with ±1 values where c is a non-negative constant and an extension on the bit level for symbols represented with multiple bits.
 13. The method of claim 1, further comprising: (a) after step (c) of claim 1, iteratively third detecting each of said P symbols wherein each of said third detections is a minimum mean square error detection and includes cancellation of previously-detected ones of said symbols including results of step (c) of claim
 1. 14. The method of claim 1, wherein: (a) said P symbols are transmitted from P antennas; and (b) said Q samples are received from Q antennas.
 15. A multistage iterative minimum mean square error detector, comprising: (a) a received symbol iterative estimator; and (b) an estimated symbol hard decider coupled to said estimator, wherein hard decisions for all symbols are available for cancellation when a symbol is estimated a second time by said estimator.
 16. An iterative minimum mean square error detection method, comprising: (a) receiving Q samples of P symbols transmitted from a plurality of sources, where P is an integer greater than 1 and Q is an integer not less than P; (b) iteratively detecting each of said P symbols wherein each of said detections is a minimum mean square error detection using said Q samples including cancellation of previously-detected ones of said symbols; and (c) wherein said detections have the form F^((i))r−G^((i))ŝ^((i−1)) where i is an iteration index, r is a Q-vector of received samples, F^((i)) is a normalized product of an equalization matrix and a matched filter H^(H) where H is a Q×P channel matrix, G^((i)) is a cancellation matrix, and ŝ^((i−1)) is a P-vector of hard decisions on previously-detected symbols; and (d) wherein said equalization matrix for iteration i is found by a matrix-inversion-free recursion using said equalization for iteration i−1.
 17. The method of claim 16, wherein: (a) said F^((i)) and G^((i)) are found by maximizing the signal-to-interference-plus-noise ratios of the symbols.
 18. The method of claim 16, wherein: (a) the matrix F^((i)) has the form DΦ^((i)) H^(H) where D is a diagonal matrix normalizing the diagonal terms of F^((i)) and Φ^((i)) is a P×P equalization matrix.
 19. The method of claim 18, wherein: (a) said P×P equalization matrix Φ^((i)) is found by a matrix-inversion-free recursion using Φ^((i−1)) with Φ⁽⁰⁾=[H^(H)H+σ²Λ⁻¹]⁻¹ where σ² is the variance of the channel noise and Λ is a diagonal matrix of transmitted symbol energies.
 20. The method of claim 16, wherein: (a) the matrix F^((i)) has the form D H^(H) Ψ^((i)) where D is a diagonal matrix normalizing the diagonal terms of F^((i)) and Ψ^((i)) is a Q×Q equalization matrix.
 21. The method of claim 20, wherein: (a) said P×P equalization matrix Ψ^((i)) is found by a matrix-inversion-free recursion using Ψ^((i−1)) with Ψ⁽⁰⁾=[HΛH^(H)+σ²I_(Q)]⁻¹ where σ² is the variance of the channel noise and Λ is a diagonal matrix of transmitted symbol energies.
 22. A method of N-stage iterative minimum mean square error detection for a system of P symbol sources and Q sample sinks where P and N are integers greater than 1 and Q is an integer not less than P, comprising: performing the following steps (a)-(h) NP times by iterating i through the range 1≦i≦P for each stage n which increments through the range 1≦n≦N and with stage initial conditions for P×P correlation matrix R^((n,i)) and for interference cancellation hard decision P-vector ŝ^((n,i)) as R^((n,0))=R^((n−1,P)) and ŝ^((n,0))=ŝ^((n−1,P)) plus initial conditions R^((1,0))=0 and ŝ^((1,0))=0: (a) computing a P×P equalization matrix Φ^((n,i)) from a Q×P transmission channel matrix H and a P×P correlation matrix R^((n,i−1)) which is a diagonal matrix with the (k,k)th element equal to the correlation between the kth transmitted symbol, s_(k), and a hard decision for the kth symbol which is available from iteration (n,i−1); (b) computing a forward detection P×Q matrix F^((n,i)) using H and Φ^((n,i)); (c) computing a P×P cancellation matrix G^((n,i)) using H, F^((n,i)) and R^((n,i)); (d) computing a minimum-mean-square-error-with-interference-cancellation soft-estimate P-vector z^((n,i)) using a received Q-vector of samples r, F^((n,i)), G^((n,i)), and P-vector ŝ^((n,i−1)) of hard decisions for symbols which are available from prior iteration (n,i−1); (e) computing post-detection signal-to-interference-plus-noise ratios (SINRs), γ_(k) ^((n,i)), for soft estimates z_(k) ^((n,i)) for all P−i+1 symbols not detected during prior iterations (n,1), (n,2), . . . , (n,i−1) and using Φ^((n,i)) and R^((n,i−1)); (f) letting π(i) denote the subscript k from foregoing step (e) which labels the largest γ_(k) ^((n,i)), detecting symbol s_(π(i)) by soft estimate z_(π(i)) ^((n,i)) and also providing a hard decision ŝ_(π(i)) ^((n,i)) using z_(π(i)) ^((n,i)); (g) updating P-vector of hard decisions from ŝ^((n,i−1)) to ŝ^((n,i)) by changing the π(i) component from ŝ^(π(i)) ^((n,i−1)) to ŝ_(π(i)) ^((n,i)) and leaving all other components unchanged in value but relabeled; and (h) computing the correlation ρ_(π(i)) ^((n,i)) and then updating correlation matrix R^((n,i−1)) to R^((n,i)) by changing from ρ_(π(i)) ^((n,i−1)) to ρ_(π(i)) ^((n,i)) and leaving all other elements unchanged in value but relabeled; (i) whereby the P soft estimates z_(π(i)) ^((N,i)) from steps (e)-(f) for 1≦i≦P provide soft symbol detection and P-vector ŝ^((N,P)) provides hard decision symbol detection.
 23. The method of claim 22, wherein: (a) said computing a P×P equalization matrix  ^((n,i)) of step (a) of claim 22 is a matrix-inversion-free recursion using Φ^((n,i−1)).
 24. The method of claim 22, wherein: (a) the hard decision in step (f) of claim 22 is ŝ_(π(i)) ^((n,i))=D(z_(π(i)) ^((n,i))) where D(z) is defined as the symbol of a constellation which minimizes the distance from D(z) to z.
 25. The method of claim 22, wherein: (a) the hard decision in step (f) of claim 22 is ŝ_(π(i)) ^((n,i))=D(z_(π(i)) ^((n,i))) where D(z) is defined as tanh(Re{z}/c) for symbols z with ±1 values where c is a non-negative constant and an extension on the bit level for symbols represented with multiple bits.
 26. The method of claim 22, wherein (a) the computation of ρ_(π(i)) ^((n,i)) in step (h) of claim 22 uses said signal-to-interference-plus-noise ratio γ_(π(i)) ^((n,i)) together with said hard decision method and a normal approximation for residual interference plus noise.
 27. The method of claim 22, wherein (a) the computation of ρ_(π(i)) ^((n,i)) of step (h) of claim 22 uses pilot symbols and ensemble averaging. 